procedure TForm1.Button1Click(Sender: TObject);
var
  Icon: TIcon;
  FileInfo: SHFILEINFO;
begin
  Icon := TIcon.Create;
  try
    SHGetFileInfo(PChar('File.exe'), 0, FileInfo, SizeOf(FileInfo), SHGFI_ICON);
    icon.Handle := FileInfo.hIcon;
    DestroyIcon(FileInfo.hIcon);
    icon.SaveToFile('Icon.ico');
    Application.Icon := icon;
  finally
    Icon.Free;
  end;
end;